/*
============================================================================
 Name        : $(Basename)AppUi.h
 Author      : $(Author)
 Version     :
 Copyright   : $(Copyright)
 Description : Main application UI class (controller)
============================================================================
*/

#ifndef __$(BASENAME)APPUI_H__
#define __$(BASENAME)APPUI_H__

// INCLUDES
#include <aknappui.h>


// FORWARD DECLARATIONS
class C$(Basename)AppView;


// CLASS DECLARATION
/**
* C$(Basename)AppUi application UI class.
* Interacts with the user through the UI and request message processing
* from the handler class
*/
class C$(Basename)AppUi : public CAknAppUi
	{
	public: // Constructors and destructor

		/**
		* ConstructL.
		* 2nd phase constructor.
		*/
		void ConstructL();

		/**
		* C$(Basename)AppUi.
		* C++ default constructor. This needs to be public due to
		* the way the framework constructs the AppUi
		*/
		C$(Basename)AppUi();

		/**
		* ~C$(Basename)AppUi.
		* Virtual Destructor.
		*/
		virtual ~C$(Basename)AppUi();

	private:  // Functions from base classes

		/**
		* From CEikAppUi, HandleCommandL.
		* Takes care of command handling.
		* @param aCommand Command to be handled.
		*/
		void HandleCommandL( TInt aCommand );

		/**
		*  HandleStatusPaneSizeChange.
		*  Called by the framework when the application status pane
		*  size is changed.
		*/
		void HandleStatusPaneSizeChange();

		/**
		*  From CCoeAppUi, HelpContextL.
		*  Provides help context for the application.
		*  size is changed.
		*/
	 	CArrayFix<TCoeHelpContext>* HelpContextL() const;

		/**
		* Shows privacy statement if needed.
		*/
		void PrivacyStatementL();

		/**
		* Reads unicode file from specified location.
		* @param aFs reference to open file session
		* @param aFileName full file name
		* @return heap descriptor which contains whole file
		*/
		static HBufC * ReadUnicodeFileL(RFs& aFs, const TDesC& aFileName);

	private: // Data

		/**
		* The application view
		* Owned by C$(Basename)AppUi
		*/
		C$(Basename)AppView* iAppView;

	};

#endif // __$(BASENAME)APPUI_H__

// End of File